# -*- coding: utf-8 -*-
from .configs import ConfigsApi
from .tasks import TasksApi


def register_api(app, view, endpoint, url, pk='id', pk_type='int'):
    view_func = view.as_view(endpoint)
    app.add_url_rule(url, defaults={pk: None},
                     view_func=view_func, methods=['GET', ])
    app.add_url_rule(url, view_func=view_func, methods=['POST', ])
    app.add_url_rule('%s<%s:%s>' % (url, pk_type, pk), view_func=view_func,
                     methods=['GET', 'PUT', 'DELETE'])


def init(app):
    register_api(app, ConfigsApi, 'configs_api', '/configs/', pk='config_id')
    register_api(app, TasksApi, 'task_api', '/tasks/', pk='task_id')
